package com.moss.cloud.base.biz.service;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.moss.cloud.base.api.model.from.BaseFrom;
import com.moss.cloud.base.api.model.from.FlowModelFrom;
import com.moss.cloud.base.api.model.param.FlowModelParam;
import com.moss.cloud.base.api.model.vo.FlowModelVO;
import com.moss.cloud.base.biz.model.FlowModel;

import java.util.List;

/**
 * 流程模型业务接口
 *
 * @author 瑾年
 * @date 2024-02-06
 */
public interface IFlowModelService extends IService<FlowModel> {

    /**
     * 分页查询
     *
     * @param param
     * @return
     */
    IPage<FlowModelVO> page(FlowModelParam param);

    /**
     * 新增
     *
     * @param from
     * @return
     */
    boolean saveFlowModel(FlowModelFrom from);

    /**
     * 更新
     *
     * @param from
     * @return
     */
    boolean update(FlowModelFrom from);

    /**
     * 删除
     *
     * @param baseFrom
     * @return
     */
    boolean remove(BaseFrom baseFrom);

    /**
     * 详情
     *
     * @param baseFrom
     * @return
     */
    FlowModel detail(BaseFrom baseFrom);

    /**
     * 流程模型列表
     *
     * @param param
     * @return
     */
    List<FlowModelVO> flowModelList(FlowModelParam param);

}
